package com.anyou.mall.order.orderServe.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.anyou.mall.order.orderGoods.domain.OrdOrderGoods;
import com.anyou.mall.order.orderServe.vo.UserInfoVo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import com.anyou.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.anyou.common.core.domain.BaseEntity;

/**
 * 订单售后对象 ord_order_serve
 *
 * @author ruoyi
 * @date 2022-03-23
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper=false)
@ApiModel(value = "订单售后")
@TableName(value = "ord_order_serve")
public class OrdOrderServe extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 售后订单编号 */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("售后订单编号")
    @Excel(name = "售后订单编号")
    private Long orderServeId;

    /** 售后订单号 */
    @ApiModelProperty("售后订单号")
    @Excel(name = "售后订单号")
    private String serveNo;

    /** 售后类型（1退货退款，2换货） */
    @ApiModelProperty("售后类型（1退货退款，2换货）")
    @Excel(name = "售后类型", readConverterExp = "1=退货退款，2换货")
    private String serveType;

    /** 用户编号 */
    @ApiModelProperty("用户编号")
    @Excel(name = "用户编号")
    private Long userId;



    /** 商品sku编号 */
    @ApiModelProperty("商品sku编号")
    private Long goodsSkuId;

    /** 商品数量 */
    @ApiModelProperty("商品数量")
    @Excel(name = "商品数量")
    private Long goodsNumber;

    /** 退款金额 */
    @ApiModelProperty("退款金额")
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /** 退换理由 */
    @ApiModelProperty("退换理由")
    @Excel(name = "退换理由")
    private String thReason;

    /** 退换图片 */
    @ApiModelProperty("退换图片")
    @Excel(name = "退换图片")
    private String thImgUrl;

    /** 售后审核状态（0等待商家受理 ，1商家同意申请 ，2拒绝申请）） */
    @ApiModelProperty("售后审核状态（0等待商家受理 ，1商家同意申请，2拒绝申请））")
    @Excel(name = "售后状态", readConverterExp = "售后审核状态（0等待商家受理 ，1商家同意申请，2拒绝申请））")
    private String serveAuditStatus;


    /** 售后状态（1处理中，2已拒绝，3已完成，4已取消  */
    @ApiModelProperty("售后状态（1处理中，2已拒绝，3已完成，4已取消）")
    @Excel(name = "售后状态", readConverterExp = "售后状态（1处理中，2已拒绝，3已完成，4已取消）")
    private String serveStatus;

    /** 审核备注 */
    @ApiModelProperty("审核备注")
    @Excel(name = "审核备注")
    private String auditRemark;

    /** 用户退换货物流编号 */
    @ApiModelProperty("用户退换货物流编号")
    private Long userLogisticsId;

    /** 用户物流名称 */
    @ApiModelProperty("用户物流名称")
    private String userLogisticsNo;

    /** 用户物流名称 */
    @ApiModelProperty("用户物流名称")
    private String userLogisticsName;

    /** 物流编号 */
    @ApiModelProperty("物流编号")
    private Long logisticsId;

    /** 物流名称 */
    @ApiModelProperty("物流名称")
    private String logisticsName;

    /** 物流号 */
    @ApiModelProperty("物流号")
    private String logisticsNo;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    @TableLogic( value = "0",delval = "2" )
    private String delFlag;

    /** 删创建时间 */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 用户信息 */
    @ApiModelProperty("用户信息")
    @TableField(exist = false)
    private UserInfoVo userInfo;

    /** 商品名称 */
    @ApiModelProperty("商品名称")
    @Excel(name = "商品名称")
    @TableField(exist = false)
    private String goodsName;

    /** 手机号码 */
    @ApiModelProperty("手机号码")
    @Excel(name = "手机号码")
    @TableField(exist = false)
    private String phoneNumber;

    @ApiModelProperty("合伙人名称")
    @Excel(name = "合伙人名称")
    @TableField(exist = false)
    private String shopName;

    @ApiModelProperty("汽配商id")
    @Excel(name = "汽配商id")
    @TableField(exist = false)
    private String carPartsShopId;

    @ApiModelProperty("商品订单号")
    @Excel(name = "商品订单号")
    private String goodsOrderNo;

    @ApiModelProperty("退款时间")
    @Excel(name = "退款时间")
    private Date returnTime;

    @ApiModelProperty("发货状态(0-未发货,1-已发货)")
    @Excel(name = "发货状态(0-未发货,1-已发货)")
    private Integer sendStatus;



    /** 订单商品列表 */
/*    @ApiModelProperty("订单商品列表")
    @TableField(exist = false)
    private List<OrdOrderGoods> orderGoodsList;*/
}
